home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / sleipnir165.exe / {app} / developers / ExPanel / SPlugin.h < prev   
C/C++ Source or Header  |  2004-07-07  |  9KB  |  314 lines

  1. /*-----------------------------------------------------------------------------
  2.  *                                                                           *
  3.  * Sleipnir Extended Plugin                                                  *
  4.  *                                                                           *
  5.  * Version 1.02                                                              *
  6.  *                                                                           *
  7.  * Copyright (C) 2004 by Yasuyuki Kashiwagi. All Rights Reserved.            *
  8.  *                                                                           *
  9. -----------------------------------------------------------------------------*/
  10.  
  11. #ifndef SPX_PLUGIN_H
  12. #define SPX_PLUGIN_H
  13.  
  14.  
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18.  
  19.  
  20. #include <windows.h>
  21.  
  22.  
  23. /*---------------------------------------------------------------------------*/
  24. /* Plugin Information                                                        */
  25. /*---------------------------------------------------------------------------*/
  26.  
  27.  
  28. #define SPX_PLUGIN_UNKNOWN            0x00000000    /* òsû╛é╚âvâëâOâCâô */
  29. #define SPX_PLUGIN_EXTENDED_PANEL    0x00000001    /* ègÆúâpâlâïùpâvâëâOâCâô */
  30. #define SPX_PLUGIN_INTELLI_SEARCH    0x00000002    /* IntelliSearch ùpâvâëâOâCâô */
  31.  
  32. #define SPX_EXTENDED_PANEL_VERSION    103            /* ègÆúâpâlâïâvâëâOâCâôâoü[âWâçâô */
  33. #define SPX_INTELLI_SEARCH_VERSION      0            /* IntelliSearch âvâëâOâCâôâoü[âWâçâô */
  34.  
  35.  
  36.  
  37. /*---------------------------------------------------------------------------*/
  38. /* Sleipnir Types                                                            */
  39. /*---------------------------------------------------------------------------*/
  40.  
  41.  
  42. #define SPX_CALL    WINAPI
  43. #define SPX_ULONG    DWORD
  44. #define SPX_UINT     unsigned int
  45. #define SPX_USHORT    WORD
  46. #define SPX_UCHAR    BYTE
  47. #define SPX_LONG    long
  48. #define SPX_INT     int
  49. #define SPX_SHORT    short int
  50. #define SPX_CHAR    char
  51. #define SPX_VOID    void
  52. #define SPX_BOOL    BOOL
  53. #define SPX_VARIANT    VARIANT
  54. #define SPX_HWND    HWND
  55.  
  56.  
  57.  
  58. /*---------------------------------------------------------------------------*/
  59. /* Sleipnir Error Values                                                     */
  60. /*---------------------------------------------------------------------------*/
  61.  
  62.  
  63. #define SPX_ERR_CODE_SUCCESS        0    /* É¼î≈ */
  64. #define SPX_ERR_CODE_FAILED            1    /* Ä╕ös */
  65. #define SPX_ERR_CODE_MEMORY            2    /* âüâéâèòsæ½ */
  66. #define SPX_ERR_CODE_NOT_SUPPORT    3    /* ûóâTâ|ü[âgï@ö\ */
  67.  
  68.  
  69.  
  70. /*---------------------------------------------------------------------------*/
  71. /* Sleipnir Messages                                                         */
  72. /*---------------------------------------------------------------------------*/
  73.  
  74.  
  75. /*---------------------------------------------------------
  76.  * Éαû╛  : Sleipnir é╠âoü[âWâçâôé≡ĵô╛
  77.  * First : SPX_ULONG*
  78.  *         âoü[âWâçâôÅεò±(1.60 => 160)
  79.  * Second: é╚é╡
  80.  * û▀éΦÆl: âGâëü[âRü[âh
  81. ---------------------------------------------------------*/
  82.  
  83. #define SPX_SM_GETVERSION            0x00000001
  84.  
  85.  
  86. /*---------------------------------------------------------
  87.  * Éαû╛  : èJé⌐éΩé─éóéΘâyü[âWÉöé≡ĵô╛
  88.  * First : SPX_ULONG*
  89.  *         âyü[âWÉö
  90.  * Second: é╚é╡
  91.  * û▀éΦÆl: âGâëü[âRü[âh
  92. ---------------------------------------------------------*/
  93.  
  94. #define SPX_SM_GETPAGECOUNT            0x00000002
  95.  
  96.  
  97. /*---------------------------------------------------------
  98.  * Éαû╛  : ÄwÆΦé╠âyü[âWé╠ IWebBrowser2 é≡ĵô╛
  99.  * First : IWebBrowser2 é≡ĵô╛é╖éΘâyü[âWö╘ìå
  100.  * Second: SPX_VOID**
  101.  *         IWebBrowser2 é╓é╠â|âCâôâ^
  102.  * û▀éΦÆl: âGâëü[âRü[âh
  103. ---------------------------------------------------------*/
  104.  
  105. #define SPX_SM_GETBROWSERINTERFACE    0x00000003
  106.  
  107.  
  108. /*---------------------------------------------------------
  109.  * Éαû╛  : ÄwÆΦé╠âyü[âWé┼âiârâQü[âgèJÄn
  110.  * First : SPX_ULONG
  111.  *         âiârâQü[âgé≡ìséñâyü[âWö╘ìå
  112.  * Second: SPX_CHAR*
  113.  *         URI é≡Īé╖ò╢ÄÜù±
  114.  * û▀éΦÆl: âGâëü[âRü[âh
  115. ---------------------------------------------------------*/
  116.  
  117. #define SPX_SM_NAVIGATE                0x00000004
  118.  
  119.  
  120. /*---------------------------------------------------------
  121.  * Éαû╛  : öCê╙é╠ URI é┼ÉVé╡éóâyü[âWé≡ì∞ɼ
  122.  * First : SPX_BOOL
  123.  *         âAâNâeâBâué╔é╖éΘé⌐
  124.  * Second: SPX_CHAR*
  125.  *         URI é≡Īé╖ò╢ÄÜù±
  126.  * û▀éΦÆl: âGâëü[âRü[âh
  127. ---------------------------------------------------------*/
  128.  
  129. #define SPX_SM_NEWWINDOW            0x00000005
  130.  
  131.  
  132. /*---------------------------------------------------------
  133.  * Éαû╛  : ÄwÆΦé╠âyü[âWé≡ò┬é╢éΘ
  134.  * First : SPX_ULONG
  135.  *         ò┬é╢éΘâyü[âWö╘ìå
  136.  * Second: é╚é╡
  137.  * û▀éΦÆl: âGâëü[âRü[âh
  138. ---------------------------------------------------------*/
  139.  
  140. #define SPX_SM_CLOSEPAGE            0x00000006
  141.  
  142.  
  143. /*---------------------------------------------------------
  144.  * Éαû╛  : ÄwÆΦé╠âyü[âWé╠ URL é≡ĵô╛é╖éΘ
  145.  * First : SPX_ULONG
  146.  *         âyü[âWö╘ìå
  147.  * Second: SRX_CHAR**
  148.  *         URL é¬èiö[é│éΩé╜âAâhâîâX
  149.  *         ISleipnir::Free é┼èJò·é╖éΘé▒é╞
  150.  * û▀éΦÆl: âGâëü[âRü[âh
  151. ---------------------------------------------------------*/
  152.  
  153. #define SPX_SM_GETURL                0x00000007
  154.  
  155.  
  156. /*---------------------------------------------------------
  157.  * Éαû╛  : ÄwÆΦé╠âyü[âWé╠â^âCâgâïé≡ĵô╛é╖éΘ
  158.  * First : SPX_ULONG
  159.  *         âyü[âWö╘ìå
  160.  * Second: SRX_CHAR**
  161.  *         â^âCâgâïé¬èiö[é│éΩé╜âAâhâîâX
  162.  *         ISleipnir::Free é┼èJò·é╖éΘé▒é╞
  163.  * û▀éΦÆl: âGâëü[âRü[âh
  164. ---------------------------------------------------------*/
  165.  
  166. #define SPX_SM_GETTITLE                0x00000008
  167.  
  168.  
  169.  
  170. /*---------------------------------------------------------
  171.  * Éαû╛  : âAâNâeâBâué╚âyü[âWé≡ĵô╛
  172.  * First : SPX_ULONG*
  173.  *         âyü[âWö╘ìå
  174.  * Second: é╚é╡
  175.  * û▀éΦÆl: âGâëü[âRü[âh
  176. ---------------------------------------------------------*/
  177.  
  178. #define SPX_SM_GETACTIVEPAGE        0x00000009
  179.  
  180.  
  181.  
  182. /*---------------------------------------------------------
  183.  * Éαû╛  : âAâNâeâBâué╚âyü[âWé≡É▌ÆΦ
  184.  * First : SPX_ULONG
  185.  *         âyü[âWö╘ìå
  186.  * Second: é╚é╡
  187.  * û▀éΦÆl: âGâëü[âRü[âh
  188. ---------------------------------------------------------*/
  189.  
  190. #define SPX_SM_SETACTIVEPAGE        0x00000010
  191.  
  192.  
  193.  
  194. /*---------------------------------------------------------
  195.  * Éαû╛  : öCê╙é╠ URI é┼ÉVé╡éóâyü[âWé≡ì∞ɼ
  196.  * First : SPX_ULONG*
  197.  *         ì∞ɼé╡é╜âyü[âWé╠ö╘ìå
  198.  * Second: SPX_CHAR*
  199.  *         URI é≡Īé╖ò╢ÄÜù±
  200.  * û▀éΦÆl: âGâëü[âRü[âh
  201. ---------------------------------------------------------*/
  202.  
  203. #define SPX_SM_NEWWINDOW2            0x00000011
  204.  
  205.  
  206.  
  207. /*---------------------------------------------------------
  208.  * Éαû╛  : ÄwÆΦé╠âyü[âWé╠âAâvâèâPü[âVâçâôâIâuâWâFâNâgé╠ 
  209.  *         LPDISPATCH é≡ĵô╛
  210.  * First : Äµô╛é╖éΘâyü[âWö╘ìå
  211.  * Second: SPX_VOID**
  212.  *         LPDISPATCH
  213.  * û▀éΦÆl: âGâëü[âRü[âh
  214. ---------------------------------------------------------*/
  215.  
  216. #define SPX_SM_GETAPPINTERFACE        0x00000012
  217.  
  218.  
  219.  
  220. /*---------------------------------------------------------
  221.  * Éαû╛  : ô┴ÆΦé╠âtâHâïâ_é≡ĵô╛é╖éΘ
  222.  * First : SPX_ULONG
  223.  *         Äµô╛é╡é╜éóâtâHâïâ_ ID
  224.  * Second: SPX_CHAR**
  225.  *         âtâHâïâ_û╝
  226.  *         ISleipnir::Free é┼èJò·é╖éΘé▒é╞
  227.  * û▀éΦÆl: âGâëü[âRü[âh
  228. ---------------------------------------------------------*/
  229.  
  230. #define SPX_SM_GETSPECIALFOLDER        0x00000013
  231.  
  232. #define SPX_SF_APP                    0x00000000
  233. #define SPX_SF_INI                    0x00000001
  234. #define SPX_SF_ACTIVESKIN            0x00000002
  235.  
  236.  
  237.  
  238. /*---------------------------------------------------------------------------*/
  239. /* Sleipnir Privided Interface                                               */
  240. /*---------------------------------------------------------------------------*/
  241.  
  242.  
  243. typedef SPX_ULONG (SPX_CALL* SPX_SendMessage)(SPX_ULONG qMsg, SPX_ULONG qFirst, SPX_ULONG qSecond);
  244. typedef SPX_ULONG (SPX_CALL* SPX_PostMessage)(SPX_ULONG qMsg, SPX_ULONG qFirst, SPX_ULONG qSecond);
  245. typedef SPX_VOID* (SPX_CALL* SPX_Malloc     )(SPX_ULONG qSize);
  246. typedef SPX_LONG  (SPX_CALL* SPX_Free       )(SPX_VOID* vpMemory);
  247. typedef SPX_INT   (SPX_CALL* SPX_MessageBox )(const SPX_CHAR* cpPrompt, SPX_UINT unFlag);
  248.  
  249.  
  250. #pragma pack(1)
  251.  
  252. typedef struct SPX_ISleipnir_Tag
  253. {
  254.     SPX_ULONG qSize;
  255.  
  256.     SPX_SendMessage            SendMessage;
  257.     SPX_PostMessage            PostMessage;
  258.     SPX_Malloc                Malloc;
  259.     SPX_Free                Free;
  260.     SPX_MessageBox            MessageBox;
  261.  
  262.     SPX_UCHAR bPad[124];
  263.  
  264. } SPX_ISleipnir;
  265.  
  266. #pragma pack()
  267.  
  268.  
  269.  
  270. /*---------------------------------------------------------------------------*/
  271. /* Browser Event Listener                                                    */
  272. /*---------------------------------------------------------------------------*/
  273.  
  274.  
  275. /* Sleipnir âCâxâôâg */
  276.  
  277. typedef SPX_HWND (SPX_CALL* SPX_Create                )(SPX_ISleipnir* ipSleipnir, SPX_HWND hWndParent);
  278. typedef SPX_LONG (SPX_CALL* SPX_Destroy                )(SPX_ISleipnir* ipSleipnir, SPX_HWND hWnd);
  279. typedef SPX_LONG (SPX_CALL* SPX_Idle                )(SPX_ISleipnir* ipSleipnir, SPX_HWND hWnd);
  280. typedef SPX_LONG (SPX_CALL* SPX_Property            )(SPX_ISleipnir* ipSleipnir, SPX_HWND hWnd, SPX_ULONG x, SPX_ULONG y);
  281. typedef SPX_BOOL (SPX_CALL* SPX_PreTranslateMessage    )(MSG* pMsg);
  282. typedef SPX_VOID (SPX_CALL* SPX_ProcessMessage        )();
  283.  
  284.  
  285. #pragma pack(1)
  286.  
  287. typedef struct SPX_IBrowserEventListener_Tag
  288. {
  289.     SPX_ULONG                    qSize;
  290.  
  291.     SPX_Create                    OnCreate;
  292.     SPX_Destroy                    OnDestroy;
  293.     SPX_Idle                    OnIdle;
  294.     SPX_Property                OnProperty;
  295.     SPX_PreTranslateMessage        OnPreTranslateMessage;
  296.     SPX_ProcessMessage            OnProcessMessage;
  297.  
  298.     SPX_UCHAR bPad[116];
  299.     
  300. } SPX_IBrowserEventListener;
  301.  
  302. #pragma pack()
  303.  
  304.  
  305.  
  306.  
  307.  
  308. #ifdef __cplusplus
  309. }
  310. #endif
  311.  
  312.  
  313. #endif /* SPX_PLUGIN_H */
  314.